package foundation;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;

/**
 * Created by gmwang on 2018/10/22
 */
public class TestList {

    public static void main(String[] args) {
//        List<Object> list = new ArrayList<>();
//        list.add(0);
//        list.add(1);
//        list.add(2);
//        list.add(3);
//        list.add(4);
//        list.add(5);
//        for (int i = 0; i < list.size(); i++) {
//            if (i == 0) {
//                list.remove(i);
//            }
//        }
//        Iterator<Object> iterator = list.iterator();
//        while (iterator.hasNext()) {
//            if (iterator.next().equals(1)) {
//                iterator.remove();
//            }
//        }
//        System.out.println(list);
        List<String> list2 = new ArrayList<>(Arrays.asList("a1", "ab2", "a3", "ab4", "a5", "ab6", "a7", "ab8", "a9"));
//        list2.add("a1");
//        list2.add("ab2");
//        list2.add("a3");
//        list2.add("ab4");
        // 迭代删除方式一
//        for (String str : list2) {
//            System.out.println(str);
//            if (str.contains("b")) {
//                list2.remove(str);
//            }
//        }
        // 迭代删除方式二
//        int size = list2.size();
//        for (int i = 0; i < size; i++) {
//            String str = list2.get(i);
//            System.out.println(str);
//            if (str.contains("b")) {
//                list2.remove(i);
//            }
//        }
        // 迭代删除方式四
        for (Iterator<String> ite = list2.iterator(); ite.hasNext();) {
            String str = ite.next();
            System.out.println(str);
            if (str.contains("b")) {
                ite.remove();
            }
        }
         // 迭代删除方式五
        for (Iterator<String> ite = list2.iterator(); ite.hasNext();) {
            String str = ite.next();
            if (str.contains("b")) {
                list2.remove(str);
            }
        }
    }
}
